Access over the Internet to Web-based applications is provided by having a Web-browser connect directly over a network of routers to a central Web server that executes the applications. The applications generate text formatted in HTML syntax that can be parsed and displayed by the Web-browser. Examples of some applications that are made available on the Web include Web-based auctions and Web-based store fronts.
However, during periods of congestion due to traffic patterns on the Internet, this arrangement results in poor response times for the end user. The situation is typically worsened when a user or a set of users is located far from the central Web server. As an example, in a Web-based auction, the requesters for a specific item may be located at a site that is far away from the central Web server. Such a situation arises, for example, if the item being sold has some relevance to a geographic region or locality. A requester is defined as a user who seeks information about an auction item or who actually participates in an auction. For a more specific example, consider the auction of a baseball bat that was used in a record setting high school match between two towns in California. It is to be expected that most requesters for this item would be in California. However, if the central Web site is located in New York, the performance perceived by the clients would be adversely impacted whenever the network between California and New York was congested. Executing the auction at a site in California would increase the performance of the application as perceived by its users.
One way to improve the response time, reliability, and availability of the application would thus be to distribute the auction to proxy servers located closer to the bidders. Here the term “proxy server” refers to one of a set of distributed Web servers that can provide the same service as the main central Web server, and that are in communication with it. This is in contrast to client proxies that act on behalf of requesters.
The current state of the art allows such distributed Web servers to provide access to static content, such as images or video files. However, such distribution is not usually possible for applications that are accessed over the Web. In this invention, we describe a scheme that can allow Web-based applications to benefit from such geographic distribution. Specifically, we look at applications that can provide Web-based auctions, generation of personalized content, and generation of advertisements that are incorporated in Web pages.